home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 48 / 048side1.d81 / historic mazes (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  10KB  |  305 lines

  1. 1 gosub60100
  2. 2 ma$="historic mazes"
  3. 4 gosub 442:goto 296
  4. 6 poke 214,22:print
  5. 8 print wi$ spc(3)"use cursors to move"ss$ s$ s$"q to quit"
  6. 10 print ho$ br$ w$ w% tab(26) t$
  7. 12 gosub 102:poke v+31,0:poke v+30,0
  8. 14 printho$br$tab(10)w%wi$tab(31)ss$ss$ho$tab(31)fntm(x)":"fnts(x)
  9. 16 get k$:if k$="" then 16
  10. 18 if k$="q" then 294
  11. 20 if peek(197)<>2 and peek(197)<>7 then 16
  12. 22 if k$=u$ then u%=u%-4
  13. 24 if k$=d$ then u%=u%+4
  14. 26 if k$=l$ then l%=l%-4:if l%=<0 then poke v+16,peek(v+16)and254:l%=255
  15. 28 if k$=r$ then l%=l%+4:if l%=>256 then poke v+16,peek(v+16)or1:l%=4
  16. 30 poke v,l%:poke v+1,u%
  17. 32 on k goto 34,38,42,46,50
  18. 34 if l%>145 and l%<156 and u%>158 and u%<168 then 272
  19. 36 goto 54
  20. 38 if l%>142 and l%<148 and u%>166 and u%<172 then 272
  21. 40 goto 54
  22. 42 if l%>126 and l%<132 and u%>150 and u%<156 then 272
  23. 44 goto 54
  24. 46 if l%>154 and l%<164 and u%>142 and u%<152 then 272
  25. 48 goto 54
  26. 50 if l%>138 and l%<158 and u%>86 and u%<96 then 272
  27. 52 goto 68
  28. 54 if peek(v+31)and1=1 then gosub 108:gosub 58
  29. 56 poke v+31,0:poke v+30,0:goto 14
  30. 58 if k$=u$ then u%=u%+4
  31. 60 if k$=d$ then u%=u%-4
  32. 62 if k$=l$ then l%=l%+4:if l%=>256 then poke v+16,peek(v+16)or1:l%=4
  33. 64 ifk$=r$ then l%=l%-4:if l%=<0 then pokev+16,peek(v+16)and254:l%=255
  34. 66 poke v,l%:poke v+1,u%:w%=w%+1:return
  35. 68 if mk=1 then 54
  36. 70 if rr=1 then poke 214,10:print:poke 211,28:print ss$ ss$:rr=0
  37. 72 z%=1+w%+rnd(1)*15:if z%<15 then 80
  38. 74 l=63+8*int(rnd(1)*16)
  39. 76 r=8*int(rnd(1)*13):u=107+r:if w%>19 then u=195:if w%>30 then l=87
  40. 78 poke v+2,l:poke v+3,u
  41. 80 if peek(v+30)<>255 then 54
  42. 82 zz%=w%+rnd(0)*10:poke 198,0:if zz%<10 then 96
  43. 84 print cl$"the minotaur got you":ki=1:gosub 108:gosub 108
  44. 86 poke v+21,0:poke v+21,2
  45. 88 poke 214,22:print:print wi$ rt$"for menu and/or results"s$
  46. 90 get x$:if x$="" then 90
  47. 92 if asc(x$)<>13 then gosub 102:goto 90
  48. 94 goto 294
  49. 96 gosub 102:mk=1:ki=0:poke v+21,0:poke v+21,1
  50. 98 print ho$ wi$"you killed the minotaur - continue!"ss$
  51. 100 goto 280
  52. 102 for t=0 to 24:poke m+t,0:next:poke m+24,15
  53. 104 poke m+1,110:poke m+5,9:poke m+6,9:poke m+4,17:poke m+4,16
  54. 106 for t=1 to 500:next:poke m+24,0:return
  55. 108 poke v+32,9:poke m+0,240:poke m+1,33:poke m+5,8:poke m+22,104
  56. 110 poke m+23,1:poke m+24,79:poke m+4,129:for t=1 to 70:next
  57. 112 poke m+4,128:poke m+24,0:poke v+32,13:if k=5 then poke v+32,0
  58. 114 return
  59. 116 poke z+j+li*40,aa:return
  60. 118 for j=h1 to h2:poke z+j+li*40,aa:next j:return
  61. 120 for li=l1 to l2:poke z+j+li*40,aa:next li:return
  62. 122 read c:if c=0 then return
  63. 124 read a$:a=val(a$)
  64. 126 if a$="h" then a=111
  65. 128 if a$="v" then a=101
  66. 130 if a$="l" then a=76
  67. 132 if a$="s" then a=32
  68. 134 poke z+c+li*40,a:goto 122
  69. 136 for i=3 to i1:poke zz+z1+i,160:poke zz+880+i,160:next
  70. 138 for i=z2 to 840 step40:poke zz+3+i,160:poke zz+i1+i,160:next:return
  71. 140 for i=3 to i1: poke zz+z1+i,160:poke v+2048+z1+i,11
  72. 142 poke zz+880+i,160:poke v+2928+i,11:next
  73. 144 for i=z2 to 840 step 40:poke zz+3+i,160:poke v+2051+i,11
  74. 146 poke zz+i1+i,160:poke v+2048+i1+i,11:next:return
  75. 148 i1=32:i2=29:z1=240:z2=240:gosub 136
  76. 150 for li=6 to 17:for j=1 to 7
  77. 152 poke z+j+li*40,101:poke z+j+16+li*40,101:next:next
  78. 154 aa=111:h1=1:h2=22:for li=5 to 9:gosub 118
  79. 156 h1=h1+1:h2=h2-1:next
  80. 158 h1=6:h2=18:for li= 13 to 17:gosub 118
  81. 160 h1=h1-1:h2=h2+1:next
  82. 162 aa=32:h1=9:h2=11:for li=14 to 15:gosub 118:next
  83. 164 for li=6 to 17:gosub 122:next
  84. 166 poke v+2185+11*40,1:return
  85. 168 i1=34:i2=30:z1=120:z2=160:gosub 136
  86. 170 aa=111:h1=1:h2=23:for li=1 to 4:gosub 118:next li
  87. 172 h1=2:h2=23:for li=14 to 17:gosub 118:next li
  88. 174 aa=101:l1=2:l2=17:j=1:gosub 120:j=24:gosub 120
  89. 176 l1=5:l2=13:for j=2 to 23:gosub 120:next j
  90. 178 aa=111:li=9:h1=3:h2=16:gosub 118
  91. 180 li=5:for j=10 to 13:gosub 116:next j
  92. 182 for b=1 to 146:read b$:next
  93. 184 for li=2 to 17:gosub 122:next
  94. 186 poke v+2184+12*40,1:return
  95. 188 i1=26:i2=26:z1=120:z2=160:gosub 136
  96. 190 aa=101:h1=1:h2=17:for li=2 to 17:gosub 118:next
  97. 192 aa=111:h1=1:h2=16:for li=1 to 8:gosub 118
  98. 194 h1=h1+1:h2=h2-1:next
  99. 196 h1=8:h2=9:for li=10 to 17:gosub 118
  100. 198 h1=h1-1:h2=h2+1:next
  101. 200 j=1:for li=17 to 11 step-1
  102. 202 poke z+j+li*40,76:j=j+1:next
  103. 204 j=9:for li=9 to 2 step-1
  104. 206 poke z+j+li*40,32:j=j+1:next
  105. 208 for b=1 to 480:read b$:next
  106. 210 for li=4 to 17:gosub 122:next
  107. 212 poke v+2182+10*40,1:return
  108. 214 i1=34:i2=30:z1=120:z2=160:gosub 136
  109. 216 aa=101:h1=1:h2=24:for li=2 to 17:gosub 118:next li
  110. 218 aa=111:li=1:for j=1 to 23:gosub 116:next
  111. 220 li=2:for j=4 to 22:gosub 116:next
  112. 222 li=3:for j=8 to 21:gosub 116:next
  113. 224 li=4:for j=10 to 20:gosub 116:next
  114. 226 li=12:for j=7 to 18:gosub 116:next
  115. 228 li=13:for j=7 to 18:gosub 116:next
  116. 230 li=14:for j=6 to 19:gosub 116:next
  117. 232 li=15:for j=5 to 20:gosub 116:next
  118. 234 li=16:for j=6 to 22:gosub 116:next
  119. 236 li=17:for j=4 to 23:gosub 116:next
  120. 238 li=5:for j=14 to 18:gosub 116:next
  121. 240 aa=32:h1=11:h2=14:for li=8 to 10:gosub 118:next li
  122. 242 for b=1 to 574:read b$:next
  123. 244 for li=2 to 17:gosub 122:next
  124. 246 poke v+2186+9*40,1:return
  125. 248 aa=101:h1=0:h2=17:for li=3 to 17:gosub 118:next
  126. 250 aa=111:h1=0:h2=16:for li=2 to 8:gosub 118
  127. 252 h1=h1+1:h2=h2-1:next
  128. 254 h1=7:h2=9:for li=10 to 17:gosub 118
  129. 256 h1=h1-1:h2=h2+1:next
  130. 258 aa=101:j=9:for li=3 to 10:gosub 116:next
  131. 260 aa=32:li=2:for j=9 to 17:gosub 116:next
  132. 262 print ho$ u$ "wait 5" tab(30) ss$ ss$
  133. 264 j=0:for li=17 to 10 step-1
  134. 266 poke z+j+li*40,76:j=j+1:next
  135. 268 for b=1 to 766:read b$:next:if b$<>"0" then print"data error":stop
  136. 270 for li=3 to 10:gosub 122:next:return
  137. 272 gosub 102:poke v+32,10:s(k)=1
  138. 274 print ho$"success"ss$:poke 198,0:if k=5 then 88
  139. 276 l%=l%+4:u%=u%-4:if k=1 or k=4 then l%=l%+8:u%=u%+12
  140. 278 poke v,l%:poke v+1,u%:poke v+31,0
  141. 280 gosub 102:poke 214,22:print
  142. 282 print spc(3) rt$"and find your way out"
  143. 284 get x$:if x$="" then 284
  144. 286 if x$<>chr$(13) then gosub 102:goto 284
  145. 288 print ho$;:for x=1 to 38:print s$;:next:print
  146. 290 if k<>5 then poke v+32,13
  147. 292 goto 6
  148. 294 w(k)=w%:mm(k)=fntm(x):ms(k)=fnts(x):w%=0
  149. 296 restore:poke v+32,.:poke v+33,.
  150. 298 print cl$ bl$ spc(12) ma$
  151. 300 print d$ spc(6)"menu" d$
  152. 302 poke v+21,0:if peek(v+16)<>0 then poke v+16,peek(v+16)and254
  153. 304 print"       [158]1[154]"s$ m$(1)", england"
  154. 306 print"       [158]2[154]"s$ m$(2)
  155. 308 print"       [158]3[154]"s$ m$(3)", france"
  156. 310 print"       [158]4[154]"s$ m$(4)", england"
  157. 312 print"       [158]5[154]"s$ m$(5)", crete"
  158. 314 print"       [158]6 results"
  159. 316 print"       [158]7 [154]end"
  160. 318 print spc(10)"select a number":gosub 102
  161. 320 get kk$:if kk$="" then 320
  162. 322 k=val(kk$):if k=0 or k>7 then gosub 102:goto 320
  163. 324 if k=5 then 372
  164. 326 if k=6 then 352
  165. 328 if k=7 then 60000
  166. 330 poke v+33,5:poke v+32,13:print co$
  167. 332 on k gosub 336,340,344,348:gosub 414
  168. 334 s(k)=0:ti$="000000":goto 6
  169. 336 print spc(13) m$(1)
  170. 338 l%=167:u%=219:gosub 148:return
  171. 340 print spc(11) m$(2)
  172. 342 l%=55:u%=147:gosub 168:return
  173. 344 print spc(10) m$(3)
  174. 346 l%=203:u%=147:gosub 188:return
  175. 348 print spc(13) m$(4)
  176. 350 l%=255:u%=155:gosub 214:return
  177. 352 poke v+32,13:print cl$ spc(15) wi$"results"d$
  178. 354 print tab(21) t$ tab(29) ba$ w$:print wi$ tab(20)"min sec"d$
  179. 356 for j=1 to 5:print bl$ m$(j);
  180. 358 if s(j)=1 then print wi$ chr$(115) bl$;
  181. 360 if ms(j)<>0 then print tab(20) wi$ mm(j) ms(j) tab(33) ba$ w(j);
  182. 362 print:next:if ki=0 then 366
  183. 364 print ba$ u$"minotaur got you"d$ d$
  184. 366 print tab(5) bl$ d$ rt$"for menu":gosub 102
  185. 368 get kk$:if kk$="" then 368
  186. 370 goto 296
  187. 372 print cl$:ki=0:mk=0:print spc(10) m$(5)
  188. 374 print d$"you have two choices:"d$
  189. 376 print wi$"e"bl$ s$"easy-bird's eye view"d$
  190. 378 print ba$"r"bl$ s$"realistic-maze is dark"d$
  191. 380 print spc(5)"select"s$ wi$"e [154]or r":gosub 102
  192. 382 get y$:if y$="" then 382
  193. 384 if y$<>"e" and y$<>"r" then 382
  194. 386 poke v+32,0:poke v+33,0
  195. 388 if y$="e" then print gr$
  196. 390 if y$="r" then print ba$
  197. 392 print cl$ wi$:if y$="r" then print tab(32) u$"wait 10"
  198. 394 i1=26:i2=26:z1=120:z2=160
  199. 396 if y$="e" then gosub 136
  200. 398 if y$="r" then gosub 140
  201. 400 print spc(3)"knossos-crete [fragment]"
  202. 402 gosub 248:l=191:u=139:l%=119:u%=155
  203. 404 gosub 414:gosub 428:poke v+40,2:poke v+21,255
  204. 406 poke 214,4:print:poke 211,16
  205. 408 print wi$ chr$(115) s$"ariadne"
  206. 410 poke 214,10:print:poke 211,28
  207. 412 print br$"_ minotaur":rr=1:goto334
  208. 414 poke 2040,13:poke s,0:poke s+1,15:poke s+2,0
  209. 416 poke s+3,0:poke s+4,15:poke s+5,0
  210. 418 poke s+6,0:poke s+7,15:poke s+8,0
  211. 420 poke s+9,0